உலாவி நீட்டிப்புகளை மேனிஃபெஸ்ட் V2 இலிருந்து V3க்கு மாற்றுவதற்கான ஒரு விரிவான வழிகாட்டி, JavaScript API மாற்றங்களில் கவனம் செலுத்துகிறது மற்றும் உலகளாவிய உருவாக்குநர்களுக்கான நடைமுறை உத்திகளை வழங்குகிறது.
மாற்றத்தை வழிநடத்துதல்: உலாவி நீட்டிப்பு மேனிஃபெஸ்ட் V3க்கான JavaScript API இடமாற்ற உத்திகள்
உலாவி நீட்டிப்பு சூழலமைப்பில் மேனிஃபெஸ்ட் V3 (MV3) அறிமுகத்துடன் ஒரு குறிப்பிடத்தக்க மாற்றம் நிகழ்ந்து வருகிறது. இந்த புதுப்பிப்பு, Google Chrome மூலம் முன்னிலைப்படுத்தப்பட்டது, ஆனால் Chromium அடிப்படையிலான உலாவி நிலப்பரப்பில் செல்வாக்கு செலுத்துகிறது, நீட்டிப்புகள் எவ்வாறு செயல்படுகின்றன என்பதைப் பற்றிய முக்கியமான மாற்றங்களை அறிமுகப்படுத்துகிறது, அவற்றின் பாதுகாப்பு, தனியுரிமை மற்றும் செயல்திறனை பாதிக்கிறது. உலகெங்கிலும் உள்ள மில்லியன் கணக்கான உருவாக்குநர்களுக்கு, இந்த மாற்றம் கவனமாக மதிப்பாய்வு செய்ய வேண்டிய அவசியத்தை ஏற்படுத்துகிறது மற்றும் பெரும்பாலும் மேனிஃபெஸ்ட் V2 இல் கட்டமைக்கப்பட்ட அவர்களின் தற்போதைய நீட்டிப்புகளின் கணிசமான மறுஎழுத்தை தூண்டுகிறது. இந்த இடமாற்ற சவாலின் மையப்பகுதி, புதிய JavaScript API நிலப்பரப்புக்கு ஏற்றவாறு உள்ளது. இந்த விரிவான வழிகாட்டி மேனிஃபெஸ்ட் V3 இல் உள்ள முக்கிய API மாற்றங்களைப் பற்றி ஆராய்ந்து, இந்த மாற்றத்தை வழிநடத்தும் உருவாக்குநர்களுக்கான செயல்படக்கூடிய இடமாற்ற உத்திகளை வழங்கும்.
மேனிஃபெஸ்ட் V3 இன் இயக்க சக்திகளைப் புரிந்துகொள்வது
தொழில்நுட்ப விவரங்களுக்குள் நுழைவதற்கு முன், மேனிஃபெஸ்ட் V3 க்குப் பின்னால் உள்ள நோக்கங்களைப் புரிந்துகொள்வது அவசியம். முக்கிய இயக்கிகள்:
- மேம்படுத்தப்பட்ட பாதுகாப்பு: MV3 ஆனது MV2 இல் உள்ளார்ந்த பாதுகாப்பு பாதிப்புகளைக் குறைப்பதை நோக்கமாகக் கொண்டுள்ளது, குறிப்பாக தன்னிச்சையான குறியீடு செயலாக்கம் மற்றும் முக்கியமான பயனர் தரவுக்கான அணுகல் தொடர்பானவை.
- மேம்படுத்தப்பட்ட தனியுரிமை: நீட்டிப்புகள் பிணைய கோரிக்கைகளை எவ்வளவு தூரம் கண்காணிக்கலாம் மற்றும் மாற்றியமைக்கலாம் என்பதைக் கட்டுப்படுத்துவதன் மூலம் புதிய கட்டமைப்பு சிறந்த பயனர் தனியுரிமையை ஊக்குவிக்கிறது.
- செயல்திறன் ஆதாயங்கள்: தொடர்ச்சியான பின்னணி பக்கங்களிலிருந்து விலகி, மிகவும் திறமையான APIகளைப் பயன்படுத்துவதன் மூலம், MV3 பயனர்களுக்கு மென்மையான மற்றும் வேகமான உலாவல் அனுபவத்தை உறுதியளிக்கிறது.
இந்த இலக்குகள் JavaScript APIகளை நேரடியாக பாதிக்கும் அடிப்படை கட்டடக்கலை மாற்றங்களாக மொழிபெயர்க்கப்படுகின்றன, நீட்டிப்புகள் நம்பியிருக்கின்றன.
மேனிஃபெஸ்ட் V3 இல் உள்ள முக்கிய JavaScript API மாற்றங்கள்
MV3 இல் JavaScript உருவாக்குநர்களுக்கான மிகவும் தாக்கத்தை ஏற்படுத்தும் மாற்றங்கள் பின்னணி ஸ்கிரிப்டுகளின் வாழ்க்கைச் சுழற்சி மற்றும் திறன்கள் மற்றும் காலாவதியானவற்றை மாற்ற புதிய APIகளின் அறிமுகத்தைச் சுற்றி வருகின்றன.
1. தொடர்ச்சியான பின்னணி பக்கங்களின் வீழ்ச்சி மற்றும் சேவை பணியாளர்களின் எழுச்சி
மேனிஃபெஸ்ட் V2 இல், நீட்டிப்புகள் பொதுவாக ஒரு நிலையான பின்னணி பக்கத்தைப் பயன்படுத்தின (JavaScript உடன் ஒரு பிரத்யேக HTML கோப்பு) எப்போதும் இயங்கும். இது நீண்டகால பணிகள் மற்றும் நிகழ்வு கேட்பவர்களுக்கு நிலையான சூழலை வழங்கியது.
மேனிஃபெஸ்ட் V3 மாற்றம்: தொடர்ச்சியான பின்னணி பக்கங்கள் இனி ஆதரிக்கப்படாது. அதற்கு பதிலாக, MV3 நீட்டிப்புகள் சேவை பணியாளர்களை பயன்படுத்துகின்றன. சேவை பணியாளர்கள் நிகழ்வு சார்ந்தவை மற்றும் ஒரு குறிப்பிட்ட வாழ்நாள் கொண்டவை; ஒரு நிகழ்வு ஏற்படும்போது மட்டுமே அவை செயல்படும், மேலும் ஆதாரங்களைச் சேமிக்க செயலற்ற நிலையில் இருக்கும்போது நிறுத்தப்படும்.
JavaScript இல் தாக்கம்:
- நிகழ்வு சார்ந்த கட்டமைப்பு: டெவலப்பர்கள் தங்கள் குறியீட்டை நிகழ்வு சார்ந்த மாதிரிக்கு மாற்றியமைக்க வேண்டும். பின்னணி ஸ்கிரிப்ட் எப்போதும் கிடைக்கும் என்று கருதுவதற்கு பதிலாக, தர்க்கம் குறிப்பிட்ட உலாவி நிகழ்வுகளால் தூண்டப்பட வேண்டும் (எ.கா., நிறுவல், தொடக்கம், செய்தி வரவேற்பு, அலாரம் இயக்கம்).
- நிலை மேலாண்மை: தொடர்ச்சியான பின்னணி பக்கங்கள் நினைவகத்தில் இருக்கும் நிலையை எளிதாகப் பராமரிக்க முடியும். சேவை பணியாளர்களுடன், நிலை
chrome.storage
அல்லது IndexedDB போன்ற வழிமுறைகளைப் பயன்படுத்தி நிலைநிறுத்தப்பட வேண்டும், ஏனெனில் சேவை பணியாளர் எந்த நேரத்திலும் நிறுத்தப்படலாம். - API அணுகல்: நிலையான பின்னணி சூழலை நம்பியிருக்கும் சில APIகள் வித்தியாசமாக நடந்து கொள்ளலாம் அல்லது புதிய அணுகுமுறைகள் தேவைப்படலாம்.
2. பிணைய கோரிக்கை மாற்றம்: அறிவிப்பு வலை கோரிக்கை API
மேனிஃபெஸ்ட் V2 நீட்டிப்புகளை chrome.webRequest
API ஐப் பயன்படுத்தி பிணைய கோரிக்கைகளை இடைமறித்து மாற்றியமைக்க அனுமதித்தது. சக்திவாய்ந்ததாக இருந்தாலும், இது தனியுரிமை மற்றும் செயல்திறன் கவலைகளையும் முன்வைத்தது, ஏனெனில் நீட்டிப்புகள் அனைத்து பிணைய போக்குவரத்தையும் ஆய்வு செய்யவோ அல்லது தடுக்கவோ கூடும்.
மேனிஃபெஸ்ட் V3 மாற்றம்: chrome.webRequest
API ஆனது MV3 இல் கணிசமாகக் கட்டுப்படுத்தப்பட்டுள்ளது, குறிப்பாக கோரிக்கைகளைத் தடுப்பது அல்லது மாற்றுவது. இது பெரும்பாலும் அறிவிப்பு வலை கோரிக்கை API மூலம் மாற்றப்படுகிறது.
JavaScript இல் தாக்கம்:
- அறிவிப்பு அணுகுமுறை: JavaScript இல் கட்டாயமாக கோரிக்கைகளைத் தடுப்பதற்கு அல்லது மாற்றுவதற்குப் பதிலாக, உருவாக்குநர்கள் இப்போது விதிகளை அறிவிக்கிறார்கள் (எ.கா., தடுப்பது, திருப்பி விடுவது அல்லது தலைப்புகளை மாற்றுவது), உலாவியானது நேரடியாகப் பயன்படுத்துகிறது.
- விதி மேலாண்மை: API விதி தொகுப்புகளை வரையறுத்தல் மற்றும் நிரலாக்க ரீதியாக அவற்றை புதுப்பித்தல் ஆகியவற்றை உள்ளடக்கியது. இதற்கு நேரடி கையாளுதலில் இருந்து நிலைமைகள் மற்றும் செயல்களை வரையறுக்கும் ஒரு மாற்றம் தேவைப்படுகிறது.
- வரையறுக்கப்பட்ட இயங்குதன்மை: அறிவிப்பு வலை கோரிக்கை API பொதுவான தடுப்பு காட்சிகளுக்கு (விளம்பரத் தடுப்பு போன்றவை) சக்திவாய்ந்ததாக இருந்தாலும், பழைய
webRequest
API மூலம் சாத்தியமான சிக்கலான, மாறும் கோரிக்கை மாற்றங்களுக்கு இது குறைந்த நெகிழ்வுத்தன்மையை வழங்குகிறது. மிகவும் மாறும் மாற்றங்களுக்கு டெவலப்பர்கள் மாற்று உத்திகளை ஆராய வேண்டியிருக்கலாம்.
உதாரணமாக:
// Manifest V2 (example of blocking a request)
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://*.example.com/*"]},
["blocking"]
);
// Manifest V3 (using Declarative Net Request API)
// This logic would typically be in your background service worker,
// defining rules that are then added to the browser.
chrome.declarativeNetRequest.updateDynamicRules({
addRules: [
{
"id": 1,
"priority": 1,
"action": {"type": "block"},
"condition": {"urlFilter": "*.example.com", "resourceTypes": ["script", "image"]}
}
]
});
3. உள்ளடக்க பாதுகாப்பு கொள்கை (CSP) கட்டுப்பாடுகள்
மேனிஃபெஸ்ட் V2 அதிக தளர்வான CSP விதிகளைக் கொண்டிருந்தது, இது வரிசை ஸ்கிரிப்டுகள் மற்றும் `eval()` க்கு அனுமதித்தது. MV3 கடுமையான CSP ஐ அமல்படுத்துகிறது, இது ஒரு முக்கியமான பாதுகாப்பு மேம்பாடு, ஆனால் ஏற்கனவே உள்ள நீட்டிப்புகளை உடைக்கலாம்.
மேனிஃபெஸ்ட் V3 மாற்றம்: வரிசை JavaScript செயலாக்கம் மற்றும் `eval()` பயன்பாடு பொதுவாக தடைசெய்யப்பட்டுள்ளன. நீட்டிப்புகள் ஸ்கிரிப்டுகளை தனி `.js` கோப்புகளிலிருந்து ஏற்ற வேண்டும்.
JavaScript இல் தாக்கம்:
- வரிசை ஸ்கிரிப்டுகள் இல்லை: HTML கோப்புகளுக்குள் நேரடியாக உட்பொதிக்கப்பட்ட அல்லது மாறும் வகையில் உருவாக்கப்பட்ட சரங்கள் வெளிப்புற `.js` கோப்புகளுக்கு நகர்த்தப்பட்டு முறையாகக் குறிப்பிடப்பட வேண்டும்.
- `eval()` மாற்று: `eval()` அல்லது `Function` கட்டமைப்பாளரைப் பயன்படுத்தும் செயல்பாடுகள் மறுசீரமைக்கப்பட வேண்டும். JSON பாகுபடுத்தல்
JSON.parse()
ஐப் பயன்படுத்த வேண்டும். மாறும் குறியீடு தலைமுறைக்கு மிகவும் சிக்கலான பாகுபடுத்தல் அல்லது நிலையான பகுப்பாய்வு தேவைப்படலாம், அது முற்றிலும் அவசியமானால், அதைத் தவிர்ப்பது நல்லது. - `script-src` வழிமுறைகள்: மேனிஃபெஸ்டில் உள்ள
content_security_policy
விசையும் பாதிக்கப்படுகிறது. MV3 க்கு, நீங்கள் இயல்புநிலை கொள்கையை மட்டுமே குறிப்பிட முடியும், இது வரிசை ஸ்கிரிப்டுகள் மற்றும் `eval` ஐ அனுமதிக்காது.
4. தொலைநிலை குறியீடு செயலாக்க கட்டுப்பாடுகள்
மேனிஃபெஸ்ட் V2 நீட்டிப்புகளை தொலைநிலை சேவையகங்களிலிருந்து குறியீட்டைப் பெறவும் செயல்படுத்தவும் அனுமதித்தது. இது ஒரு பெரிய பாதுகாப்பு ஆபத்து.
மேனிஃபெஸ்ட் V3 மாற்றம்: MV3 தொலைநிலை ஹோஸ்ட்களிலிருந்து குறியீட்டைப் பெறுவதையும் செயல்படுத்துவதையும் தடை செய்கிறது. அனைத்து குறியீடும் நீட்டிப்புடன் கட்டப்பட வேண்டும். இது கடுமையான CSP மற்றும் தொலைநிலை குறியீடு ஏற்றுதலை எளிதாக்கும் APIகளை அகற்றுவதன் மூலம் செயல்படுத்தப்படுகிறது.
JavaScript இல் தாக்கம்:
- கட்டுதல் முக்கியமானது: தேவையான அனைத்து JavaScript குறியீடும் உங்கள் நீட்டிப்பு தொகுப்புக்குள் சேர்க்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும்.
- தொலைநிலை சேவையகங்களுக்கான API அழைப்புகள்: தொலைநிலை சேவையகங்களுக்கு (எ.கா., தரவுகளுக்கு) நீங்கள் இன்னும் பிணைய கோரிக்கைகளைச் செய்ய முடியும் என்றாலும், அவற்றிலிருந்து JavaScript ஐ பதிவிறக்கம் செய்து இயக்க முடியாது.
5. `chrome.tabs` மற்றும் `chrome.windows` API புதுப்பிப்புகள்
தனியுரிமை மற்றும் பாதுகாப்பை மேம்படுத்த chrome.tabs
மற்றும் chrome.windows
API களில் உள்ள சில முறைகள் மாற்றப்பட்டுள்ளன.
மேனிஃபெஸ்ட் V3 மாற்றம்:
- `chrome.tabs.executeScript` `chrome.scripting.executeScript` மூலம் மாற்றப்பட்டது: இந்த புதிய API அதிக நுணுக்கமான கட்டுப்பாட்டை வழங்குகிறது மற்றும் MV3 இன் பாதுகாப்பு கொள்கைகளுடன் ஒத்துப்போகிறது. குறிப்பிட்ட தோற்றங்களை ஸ்கிரிப்ட் செய்வதற்கு இது வெளிப்படையான அனுமதிகளைக் கோருகிறது.
- `chrome.tabs.insertCSS` `chrome.scripting.insertCSS` மூலம் மாற்றப்பட்டது: ஸ்கிரிப்ட் செயலாக்கத்தைப் போலவே, CSS ஊசி இப்போது
chrome.scripting
API மூலம் கையாளப்படுகிறது. - URL கட்டுப்பாடுகள்: சில செயல்பாடுகளுக்கு அதிக கட்டுப்பாடான URL பொருந்தும் வடிவங்கள் இருக்கலாம்.
உதாரணமாக:
// Manifest V2 (executing script in tab)
chrome.tabs.executeScript(tabId, { file: "content.js" });
// Manifest V3 (executing script in tab)
chrome.scripting.executeScript({
target: {tabId: tabId},
files: ["content.js"]
});
6. `chrome.runtime.sendMessage` மற்றும் `chrome.runtime.onMessage`
செய்தி API பெரும்பாலும் செயல்பாட்டுடன் இருந்தாலும், சேவை பணியாளர்களுடன் இணைந்து அதன் பயன்பாடு கவனமாக கருத்தில் கொள்ளப்பட வேண்டும்.
மேனிஃபெஸ்ட் V3 மாற்றம்: ஒரு சேவை பணியாளரிடமிருந்து அனுப்பப்படும் செய்திகள் சேவை பணியாளர் செயலற்ற நிலையில் இருந்தால் உடனடியாக வழங்கப்படாமல் போகலாம். செய்தியைச் செயலாக்க அது செயல்படுத்தப்படும்.
JavaScript இல் தாக்கம்:
- ஒத்திசைவற்ற இயல்பு: செய்தி அனுப்பப்படுவதை உள்ளார்ந்த முறையில் ஒத்திசைவற்றதாகக் கருதுங்கள். காபேக்குகள் சரியாக கையாளப்படுவதை உறுதிசெய்து, உடனடி விநியோகம் அல்லது பெறும் சூழலின் தொடர்ச்சியான கிடைக்கும் தன்மை பற்றி எந்த அனுமானங்களையும் செய்யாதீர்கள்.
- நீண்டகால இணைப்புகள்: தொடர்ச்சியான தொடர்பு தேவைப்படும் காட்சிகளுக்கு, நீண்டகால போர்ட்களுக்கான
chrome.runtime.connect
ஐப் பயன்படுத்தவும்.
7. பிற மதிப்பிறக்கங்கள் மற்றும் மாற்றங்கள்
மற்ற பல APIகள் மற்றும் செயல்பாடுகள் மதிப்பிடப்பட்டவை அல்லது மாற்றியமைக்கப்பட்டன:
- `chrome.storage.managed`: MV3 இல் இனி கிடைக்காது.
- `chrome.history` API அணுகல்: குறிப்பிட்ட அனுமதிகள் தேவைப்படலாம்.
- பயனர் ஸ்கிரிப்டுகள் மற்றும் மேம்பட்ட DOM கையாளுதல் அல்லது பிணைய இடைமறிப்பை நம்பியிருக்கும் நீட்டிப்புகள் மிகவும் குறிப்பிடத்தக்க தடைகளை எதிர்கொள்ளக்கூடும்.
மேனிஃபெஸ்ட் V3 இடமாற்றத்திற்கான உத்திகள்
மேனிஃபெஸ்ட் V2 இலிருந்து V3 க்கு மாறுவது கடினமாகத் தோன்றலாம், ஆனால் ஒரு கட்டமைக்கப்பட்ட அணுகுமுறை செயல்முறையை நிர்வகிக்கக்கூடியதாக மாற்றும். இங்கே பல உத்திகள் உள்ளன:
1. உங்கள் மேனிஃபெஸ்ட் V2 நீட்டிப்பை முழுமையாக தணிக்கை செய்யவும்
புதிய குறியீட்டை எழுதுவதற்கு முன், உங்கள் தற்போதைய நீட்டிப்பு என்ன செய்கிறது என்பதை துல்லியமாக புரிந்து கொள்ளுங்கள்:
- பயன்பாட்டில் உள்ள APIகளை அடையாளம் காணவும்: உங்கள் நீட்டிப்பு பயன்படுத்தும் அனைத்து
chrome.*
APIகளையும் பட்டியலிடுங்கள். - பின்னணி தர்க்கத்தை பகுப்பாய்வு செய்யவும்: உங்கள் பின்னணி பக்கத்தின் செயல்பாட்டை வரைபடமாக்கவும். அது என்ன நிகழ்வுகளைக் கேட்கிறது? அது என்ன பணிகளைச் செய்கிறது?
- உள்ளடக்க ஸ்கிரிப்ட் தொடர்புகள்: உள்ளடக்க ஸ்கிரிப்டுகள் பின்னணி பக்கத்துடன் எவ்வாறு தொடர்பு கொள்கின்றன? அவை DOM மற்றும் பிணையத்துடன் எவ்வாறு தொடர்பு கொள்கின்றன?
- பிணைய கோரிக்கை கையாளுதல்: உங்கள் நீட்டிப்பு பிணைய கோரிக்கைகளை மாற்றியமைக்கிறதா அல்லது தடுக்கிறதா?
- அனுமதிகள்: உங்கள் `manifest.json` இல் அறிவிக்கப்பட்ட அனுமதிகளை மதிப்பாய்வு செய்யவும். MV3 க்கு பெரும்பாலும் அதிக குறிப்பிட்ட அனுமதிகள் தேவைப்படுகின்றன.
2. மேனிஃபெஸ்ட் V3 இணக்கத்தன்மை சரிபார்ப்பு கருவியை மேம்படுத்தவும்
சாத்தியமான MV3 இணக்கத்தன்மை சிக்கல்களை அடையாளம் காண Google கருவிகளை வழங்குகிறது:
- Chrome இன் நீட்டிப்பு மேனிஃபெஸ்ட் பதிப்பு: MV3 உடன் பொருந்தாத நீட்டிப்புகளை அடையாளம் காண உதவ Chrome கொடிகள் மற்றும் எச்சரிக்கைகளை அறிமுகப்படுத்தியுள்ளது.
- மூன்றாம் தரப்பு கருவிகள்: பல்வேறு சமூகம் உருவாக்கிய கருவிகள் மற்றும் ஸ்கிரிப்டுகள் உங்கள் குறியீடு தளத்தை MV2-குறிப்பிட்ட வடிவங்களுக்காக ஸ்கேன் செய்ய உதவுகின்றன, அவை MV3 இல் உடைக்கப்படும்.
3. மாற்றங்களுக்கு முன்னுரிமை அளித்து தனிமைப்படுத்தவும்
எல்லாவற்றையும் ஒரே நேரத்தில் மீண்டும் எழுத முயற்சிக்காதீர்கள். இடமாற்றத்தை சிறிய, நிர்வகிக்கக்கூடிய பணிகளாக உடைக்கவும்:
- பின்னணி ஸ்கிரிப்ட் மறுஎழுதுதல்: இது பெரும்பாலும் மிகவும் குறிப்பிடத்தக்க மாற்றமாகும். சேவை பணியாளர்கள் மற்றும் நிகழ்வு கேட்பவர்களைப் பயன்படுத்த உங்கள் பின்னணி தர்க்கத்தை மீண்டும் கட்டமைப்பதில் கவனம் செலுத்துங்கள்.
- பிணைய கோரிக்கை கையாளுதல்: உங்கள் நீட்டிப்பு தடுப்பதற்கு `chrome.webRequest` ஐப் பயன்படுத்தினால், அறிவிப்பு வலை கோரிக்கை API க்கு மாறவும்.
- ஸ்கிரிப்டிங் மற்றும் CSS ஊசி: `executeScript` மற்றும் `insertCSS` அழைப்புகளை `chrome.scripting` API ஐப் பயன்படுத்த புதுப்பிக்கவும்.
- CSP இணக்கம்: எந்த வரிசை ஸ்கிரிப்ட் அல்லது `eval()` பயன்பாட்டையும் முகவரியிடவும்.
4. சேவை பணியாளர் மாதிரியை ஏற்றுக்கொள்ளுங்கள்
உங்கள் சேவை பணியாளரை ஒரு நிகழ்வு கையாளுபவராக நினைத்துப் பாருங்கள்:
- நிகழ்வு கேட்பவர்கள்: `chrome.runtime.onInstalled`, `chrome.runtime.onStartup`, `chrome.alarms.onAlarm` மற்றும் பிற நீட்டிப்பு பாகங்களிலிருந்து வரும் செய்திகள் போன்ற நிகழ்வுகளுக்கு கேட்பவர்களை பதிவு செய்யுங்கள்.
- நிரந்தரத்திற்கு `chrome.storage`: சேவை பணியாளர் நிகழ்வுகள் முழுவதும் நிலைநிறுத்தப்பட வேண்டிய எந்த நிலையையும் சேமிக்க `chrome.storage.local` அல்லது `chrome.storage.sync` ஐப் பயன்படுத்தவும்.
- நிலைக்கு உலகளாவிய மாறிகளைத் தவிர்க்கவும்: சேவை பணியாளர் நிறுத்தப்படலாம் என்பதால், உலகளாவிய மாறிகள் நிரந்தர நிலையை சேமிக்க நம்பகமானவை அல்ல.
5. அறிவிப்பு வலை கோரிக்கை API ஐ திறம்பட இடமாற்றம் செய்யவும்
விளம்பரத் தடுப்பிகள் அல்லது உள்ளடக்கத்தை வடிகட்டும் அந்த நீட்டிப்புகளுக்கு இது முக்கியமானது:
- விதி கட்டமைப்பைப் புரிந்து கொள்ளுங்கள்: `addRules` மற்றும் `removeRules` முறைகள் மற்றும் விதி பொருள்களின் கட்டமைப்பைப் பற்றி அறிந்து கொள்ளுங்கள் (ID, முன்னுரிமை, செயல், நிபந்தனை).
- மாறும் விதி புதுப்பிப்புகள்: உங்கள் விதிகளை மாறும் வகையில் புதுப்பிக்க வேண்டும் என்றால், சேவை பணியாளருக்குள் இதை நீங்கள் கையாளுகிறீர்கள் என்பதையும் `updateDynamicRules` ஐப் பயன்படுத்துகிறீர்கள் என்பதையும் உறுதிப்படுத்தவும்.
- வள வகை: சரியான பிணைய கோரிக்கைகளை குறிவைக்க உங்கள் நிபந்தனைகளில் உள்ள `resourceTypes` க்கு அதிக கவனம் செலுத்துங்கள்.
6. கடுமையான உள்ளடக்க பாதுகாப்பு கொள்கையை செயல்படுத்தவும்
இது கட்டாய மாற்றம்:
- வரிசை ஸ்கிரிப்டுகளை நகர்த்தவும்: அனைத்து வரிசை JavaScript ஐ தனி `.js` கோப்புகளாக பிரித்தெடுக்கவும்.
- `eval()` மற்றும் `Function` கட்டமைப்பாளரை அகற்றவும்: இவற்றைப் பயன்படுத்தும் எந்த குறியீட்டையும் மறுசீரமைக்கவும்.
- JSON பாகுபடுத்தல்: JSON தரவைப் பாகுபடுத்த எப்போதும் `JSON.parse()` ஐப் பயன்படுத்தவும்.
7. ஸ்கிரிப்டுகள் மற்றும் ஸ்டைல்களுக்கு `chrome.scripting` ஐப் பயன்படுத்தவும்
இந்த புதிய API குறியீட்டைச் செருக மிகவும் பாதுகாப்பான மற்றும் கட்டுப்படுத்தப்பட்ட வழியை வழங்குகிறது:
- அனுமதிகள்: குறிப்பிட்ட தோற்றங்களை ஸ்கிரிப்ட் செய்ய `chrome.scripting` அடிக்கடி வெளிப்படையான ஸ்கிரிப்ட் அனுமதிகள் தேவை என்பதை கவனத்தில் கொள்க, இது நிறுவலின் போது பயனர்களுக்கு உராய்வு புள்ளியாக இருக்கும்.
- குறிவைத்தல்: எந்த தாவல்கள் அல்லது பிரேம்களில் செருக வேண்டும் என்பதைக் குறிப்பிட `target` பொருளைப் பயன்படுத்தவும்.
8. கடுமையாக சோதித்து மீண்டும் செய்யவும்
இடமாற்றத்தின் போது சோதனை மிக முக்கியமானது:
- உள்ளூர் சோதனை: உங்கள் MV3 நீட்டிப்பை Chrome இல் (அல்லது உங்கள் இலக்கு உலாவியில்) உள்நாட்டில் ஏற்றவும் மற்றும் அனைத்து செயல்பாடுகளையும் முழுமையாக சோதிக்கவும்.
- உருவாக்குநர் கருவிகள்: உங்கள் சேவை பணியாளர் மற்றும் உள்ளடக்க ஸ்கிரிப்டுகளை பிழைத்திருத்த உலாவி உருவாக்குநர் கருவிகளைப் பயன்படுத்தவும். CSP பிழைகள் மற்றும் பிற எச்சரிக்கைகளுக்கு கன்சோலை சரிபார்க்கவும்.
- எட்ஜ் கேஸ்கள்: சேவை பணியாளர் செயலற்ற நிலையில் இருக்கும் அல்லது நிறுத்தப்படும் சூழ்நிலைகளை சோதிக்கவும், உங்கள் நீட்டிப்பு எவ்வாறு மீட்கப்படுகிறது.
- பீட்டா சோதனை: முடிந்தால், உண்மையான உலக சிக்கல்களைப் பிடிக்க பயனர்களின் குழுவுக்கு பீட்டா பதிப்பை வெளியிடவும்.
9. சிக்கலான காட்சிகளுக்கு மாற்றுகளைக் கவனியுங்கள்
இப்போது MV3 இல் கட்டுப்படுத்தப்பட்டுள்ள செயல்பாடுகளை நம்பியிருக்கும் மிகவும் சிக்கலான நீட்டிப்புகளுக்கு:
- செயல்பாட்டை மீண்டும் சிந்தியுங்கள்: செயல்பாட்டை MV3 கட்டுப்பாடுகளுக்குள் அடைய முடியுமா? இதற்கு முழுமையான மறுவடிவமைப்பு தேவைப்படலாம்.
- வலை APIகளை மேம்படுத்தவும்: MV3 கட்டுப்பாடுகளை மீறாமல் ஒத்த திறன்களை வழங்கக்கூடிய நிலையான வலை APIகளை ஆராயுங்கள்.
- துணை வலைத்தளங்கள்/பயன்பாடுகள்: MV3 க்குள் செயல்படுத்த முடியாத செயல்பாடுகளுக்கு (எ.கா., ஆழமான பாக்கெட் ஆய்வு தேவைப்படும் விரிவான பிணைய கண்காணிப்பு), அவற்றை ஒரு துணை வலைத்தளம் அல்லது உங்கள் நீட்டிப்புடன் தொடர்பு கொள்ளும் பயன்பாட்டிற்கு நகர்த்துவதைக் கவனியுங்கள்.
மேனிஃபெஸ்ட் V3 இடமாற்றத்திற்கான உலகளாவிய பரிசீலனைகள்
ஒரு உலகளாவிய உருவாக்குநர் சமூகமாக, நீட்டிப்புகள் உருவாக்கப்பட்டு பயன்படுத்தப்படும் பல்வேறு சூழல்களை ஒப்புக்கொள்வது முக்கியம்:
- உலாவி சந்தை பங்கு: Chrome ஒரு முக்கிய இயக்கியாக இருந்தாலும், மேனிஃபெஸ்ட் V3 ஆனது Edge, Brave மற்றும் Opera போன்ற பிற Chromium அடிப்படையிலான உலாவிகளால் ஏற்றுக்கொள்ளப்படுகிறது. உங்கள் இடமாற்ற உத்தி நீங்கள் குறிவைக்கும் குறிப்பிட்ட உலாவி செயல்படுத்தல்களைக் கருத்தில் கொள்கிறது என்பதை உறுதிப்படுத்தவும்.
- பயனர் அனுமதிகள் மற்றும் தனியுரிமை எதிர்பார்ப்புகள்: தரவு தனியுரிமை மற்றும் நீட்டிப்பு அனுமதிகள் தொடர்பாக வெவ்வேறு பகுதிகள் மற்றும் கலாச்சாரங்களுக்கு மாறுபட்ட எதிர்பார்ப்புகள் இருக்கலாம். தனியுரிமை குறித்த வளர்ந்து வரும் உலகளாவிய கவலைகளுடன் MV3 இன் கவனம் ஒத்துப்போகிறது. உங்கள் நீட்டிப்பு கோரும் அனுமதிகள் குறித்து வெளிப்படையாக இருங்கள்.
- அலைவரிசை மற்றும் செயல்திறன்: வரையறுக்கப்பட்ட அலைவரிசை அல்லது மெதுவான இணைய இணைப்புகள் உள்ள பிராந்தியங்களில், MV3 ஆல் உறுதியளிக்கப்பட்ட செயல்திறன் மேம்பாடுகள் (எ.கா., திறமையான சேவை பணியாளர்கள்) குறிப்பாக நன்மை பயக்கும்.
- ஆவணப்படுத்தல் மற்றும் ஆதரவு: உலகெங்கிலும் உள்ள டெவலப்பர்களுக்கு தெளிவான, பன்மொழி ஆவணப்படுத்தல் மற்றும் சமூக ஆதரவு மிகவும் முக்கியமானது. பொதுவான சிக்கல்களை சரிசெய்ய அதிகாரப்பூர்வ ஆவணப்படுத்தல் மற்றும் மன்றங்களை மேம்படுத்தவும்.
- கருவிகள் மற்றும் மேம்பாட்டு சூழல்கள்: உங்கள் மேம்பாட்டுக் கருவிகள் மற்றும் பணிப்பாய்வுகள் MV3 மேம்பாட்டுடன் ஒத்துப்போகின்றன என்பதை உறுதிப்படுத்தவும். மேம்பாட்டுக் கருவிகளின் குறுக்கு-தளம் பொருந்தக்கூடிய தன்மையும் ஒரு கருத்தாகும்.
முடிவுரை
மேனிஃபெஸ்ட் V3 உலாவி நீட்டிப்புகளுக்கு ஒரு குறிப்பிடத்தக்க, கடினமானதாக இருந்தாலும், பரிணாம வளர்ச்சியைக் குறிக்கிறது. மேனிஃபெஸ்ட் V2 இலிருந்து V3 க்கு JavaScript APIகளை மாற்றுவது கட்டடக்கலை சிந்தனையில் ஒரு மாற்றத்தைக் கோருகிறது, இது நிகழ்வு சார்ந்த, அறிவிப்பு மற்றும் மிகவும் பாதுகாப்பான நிரலாக்க முன்னுதாரணங்களை நோக்கி நகர்கிறது. முக்கிய API மாற்றங்களைப் புரிந்துகொள்வதன் மூலமும், கட்டமைக்கப்பட்ட இடமாற்ற உத்தியை ஏற்றுக்கொள்வதன் மூலமும், கடுமையாக சோதிப்பதன் மூலமும், டெவலப்பர்கள் தங்கள் நீட்டிப்புகளை வெற்றிகரமாக மாற்ற முடியும். இந்த மாற்றம், ஆரம்பத்தில் கோரப்பட்டாலும், இறுதியில் உலகளவில் பயனர்களுக்கு பாதுகாப்பான, அதிக தனிப்பட்ட மற்றும் செயல்திறன் மிக்க வலைக்கு பங்களிக்கிறது. மாற்றங்களைத் தழுவி, உங்கள் குறியீடு தளத்தை மாற்றியமைத்து, மேனிஃபெஸ்ட் V3 இன் கட்டமைப்பிற்குள் புதுமையான உலாவி அனுபவங்களை தொடர்ந்து உருவாக்குங்கள்.